<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<body>
<script>
var t = async_test('Test that preloaded non-cacheable resources get reused even after onload');
var action;
const URL = 'resources/timestamp.php?from=memcache_reuse_of_non_cacheable_preload.html';

var test = t.step_func(function() {
    var entries = performance.getEntriesByType("resource");
    var resources = 0;
    for (var i = 0; i < entries.length; ++i) {
        if (entries[i].name.indexOf("timestamp") != -1)
            ++resources;
    }
    assert_equals(resources, 1);
    t.done();
});

var loadTimestampWithXHR = t.step_func(function() {
    var xhr = new XMLHttpRequest;
    xhr.withCredentials = true;
    xhr.open("GET", URL);
    xhr.send();
    xhr.onload = t.step_func(function() {
        setTimeout(test, 0);
    });
});

var loadTimestampWithLink = (function() {
    var l = document.createElement('link');
    l.setAttribute('rel', 'preload');
    l.setAttribute('crossorigin', 'use-credentials');
    l.setAttribute('href', URL);
    l.setAttribute('as', 'fetch');
    l.onload = loadTimestampWithXHR;
    document.body.appendChild(l);
});

loadTimestampWithLink();
</script>
